<script setup lang="ts">
import AMapLoader from '@amap/amap-jsapi-loader'
import { onMounted } from 'vue'
import { shallowRef } from 'vue'
/*
显示地图
1:注册帐号（拿到key）
2:下载插件@amap/amap-jsapi-loader
3:导入插件
4：准备dom  id  要有宽高
5：shallowRef定义一个变量用于接收 地图返回值
6:将密钥通过window加入 (注意要定义数据类型)
7：复制官方代码（onMounted内调用），进行使用（修改key与id值）
*/

// ref:内部所有的数据都是响应式    shallowRef它只是栈改变了它才会响应式更新 (浅更新) 使用场景 数据较复杂，不希望影响性能
const num = shallowRef({ count: 0 })
const btnClick = () => {
  // num.value.count++
  num.value = {
    count: num.value.count + 1
  }
}

window._AMapSecurityConfig = {
  securityJsCode: '99240abf1188823cd88cfe635a521af3'
}

const map = shallowRef()
const initFn = () => {
  AMapLoader.load({
    key: 'b5a3290bb8e23f2361bcc36be9435bcd', // 申请好的Web端开发者Key，首次调用 load 时必填
    version: '2.0', // 指定要加载的 JSAPI 的版本，缺省时默认为 1.4.15
    plugins: [''] // 需要使用的的插件列表，如比例尺'AMap.Scale'等
  })
    .then(AMap => {
      map.value = new AMap.Map('abc', {
        //设置地图容器id
        viewMode: '3D', //是否为3D地图模式
        zoom: 5, //初始化地图级别
        center: [105.602725, 37.076636] //初始化地图中心点位置
      })
    })
    .catch(e => {
      console.log(e)
    })
}
onMounted(() => {
  initFn()
})
</script>

<template>
  <!-- {{ num }}

  <button @click="btnClick">修改num</button> -->
  <div id="abc"></div>
</template>

<style lang="scss" scoped>
#abc {
  height: 100vh;
}
</style>
